import {defineStore} from 'pinia';

export const useAuthenticationStore = defineStore({//需要注意的是，defineStore返回的是一个回调方法
    id: 'authentication',//test是该状态管理的唯一标志也可以使用defineStore(id,{});的形式
    state(){
        return {
            principal: {},
            age:20
        }
    },
    getters:{
        userinfo(){
            console.log(this.principal)
            return this.principal;//直接利用this便能够获取到里面的内容不需要使用state中间对象
        }
    },
    actions:{
        login(formData){
            window.electron.ipcRenderer.on('main-to-renderer', (e, data) => {
                const event = data.data
                if(data.name === 'app-auth-failed'){
                    window.$message.error(event)
                }
                if(data.name === 'app-auth-success'){
                    window.$message.success('登录成功')
                    this.principal = event
                    window.electron.ipcRenderer.invoke("renderer-to-main", {
                        name: 'app-login-success',
                        event: 'event',
                        data: null
                    })
                }
            })

            window.electron.ipcRenderer.invoke("renderer-to-main", {
                name: 'app-dologin',
                event: 'event',
                data: JSON.parse(JSON.stringify(formData))
            })
        }
    }
})
